Skip to content

Conversation

@everpeace
Copy link
Contributor

@everpeace everpeace commented Nov 19, 2025

  • One-line PR description: Device attributes in a ResourceSlice may now be lists, rather than just scalars. Flexible/extensible matching semantics for device attribute values.
  • Other comments: This is an initial draft.

/wg device-management
/sig scheduling

@k8s-ci-robot
Copy link
Contributor

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@k8s-ci-robot k8s-ci-robot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Nov 19, 2025
@k8s-ci-robot k8s-ci-robot added cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. kind/kep Categorizes KEP tracking issues and PRs modifying the KEP directory sig/scheduling Categorizes an issue or PR as relevant to SIG Scheduling. labels Nov 19, 2025
@k8s-ci-robot k8s-ci-robot added the size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. label Nov 19, 2025
@everpeace everpeace force-pushed the KEP-5491-alpha branch 16 times, most recently from 6740a4d to ff35ed6 Compare November 20, 2025 02:02
@everpeace everpeace marked this pull request as ready for review November 20, 2025 02:13
@k8s-ci-robot k8s-ci-robot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Nov 20, 2025
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: everpeace
Once this PR has been reviewed and has the lgtm label, please assign jpbetz, macsko for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Copy link
Contributor Author

@everpeace everpeace left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@johnbelamaric @pohly @pravk03 @klueska @liggitt

I drafted a KEP for KEP-5491: DRA: List Types for Attributes. Please take a look and give your feedback!!

Comment on lines +11 to +21
reviewers:
- "@johnbelamaric"
- "@klueska"
- "@pohly"
- "@pravk03"
approvers:
- "@johnbelamaric" # WG-Device-Management
- "@klueska" # WG-Device-Management
- "@pohly" # WG-Device-Management
- "@dom4ha" # SIG-Scheduling
- "@liggitt" # API Review
Copy link
Contributor Author

@everpeace everpeace Nov 20, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure these reviewers/approvers are ok. I'm wondering if it's too many? more appropriate ones? I'd like to have feedback.

Comment on lines +50 to +52
components:
- kube-apiserver
- kube-scheduler
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If I understood correctly, this KEP does not need to add the feature gate to kubelet. Am I correct?

Comment on lines +481 to +483
#### Story 2

T.B.D.
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd like to have more user stories. Please feel free to provide more use cases, particularly the distinctAttribute with the list-type attribute use case.

Comment on lines +227 to +228
- Redesigning the entire DRA matching model.
- Currently `Allocator`'s algorithm assumes [_monotonic_ constraints](https://github.com/kubernetes/kubernetes/blob/v1.34.2/staging/src/k8s.io/dynamic-resource-allocation/structured/internal/experimental/allocator_experimental.go#L274-L276) only. Monotonic means that once a constraint returns false, adding more devices will never cause it to return true. This allows to bound the computational complexity for searching device combinations which satisfies the specified constraints. This KEP does NOT intend to change this design. Thus, this KEP focuses to propose monotonic constraints only.
Copy link
Contributor Author

@everpeace everpeace Nov 20, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is an important Non-Goal of this KEP. Adding a non-monotonic predicate introduces the risk of increasing the search complexity to an exponential level and would need a large rewrite of the Allocator implementation. So, this KEP only focuses on adding monotonic constraints. Focusing only on monotonic constraints also helps the implementation changes as little as possible as discribed Implementation section in the KEP.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. kind/kep Categorizes KEP tracking issues and PRs modifying the KEP directory sig/scheduling Categorizes an issue or PR as relevant to SIG Scheduling. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files.

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

2 participants